/*
 * Copyright (c) 2008 James Molloy, Jörg Pfähler, Matthew Iselin
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#ifndef KERNEL_PROCESSOR_SYSCALLS_H
#define KERNEL_PROCESSOR_SYSCALLS_H

/** Standard syscall service numbers */
enum Service_t
{
  /** Syscall service number of the kernel core */
  kernelCore = 0,

  /** Service number for the POSIX subsystem
   * \note If you change this, ensure you change src/subsys/posix/syscall.h ! */
  posix = 1,

  /** Service number for the TUI module subsystem
   * \note If you change this, ensure you change src/system/modules/TUI/syscall.h! */
  TUI = 2,

  /** Service number for the native subsystem */
  native = 3,

  /** Pedigree C calls (NOT the native subsystem) */
  pedigree_c = 4,
  
  /** The number of syscall service numbers */
  serviceEnd
};

#endif
